package com.xueyi.system.storeManager.domain.po;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.storeManager.domain.dto.StoreManagerDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

/**
 * 储运管理 持久化对象
 *
 * @author yanhe
 */
@TableName(value = "base_store_manager", excludeProperty = {"sort"},autoResultMap = true)
public class StoreManagerPo extends TBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 储运编号
     */
    @Excel(name = "储运编号")
    @TableField("code")
    private String code;

    /**
     * 储运类型(1储存 2运输)
     */
    @Excel(name = "储运类型(1储存 2运输)")
    @TableField("store_type")
    private String storeType;

    /**
     * 包装id
     */
    @Excel(name = "包装id")
    @TableField("pack_id")
    private Long packId;

    /**
     * 包装名称
     */
    @Excel(name = "包装名称")
    @TableField("pack_name")
    private String packName;

    /**
     * 产品id
     */
    @Excel(name = "产品id")
    @TableField("produt_id")
    private Long produtId;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    @TableField("product_name")
    private String productName;

    /**
     * 负责人
     */
    @Excel(name = "负责人id")
    @TableField("principal_user_id")
    private String principalUserId;

    /**
     * 负责人
     */
    @Excel(name = "负责人")
    @TableField("principal_user")
    private String principalUser;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    @TableField("contact_details")
    private String contactDetails;

    /**
     * 单位名称
     */
    @Excel(name = "单位名称")
    @TableField("unit_name")
    private String unitName;

    /**
     * 数量
     */
    @Excel(name = "数量")
    @TableField("num")
    private BigDecimal num;

    /**
     * 状态（1启用、2停用）
     */
    @Excel(name = "状态", readConverterExp = "1=启用、2停用")
    @TableField("status")
    private String status;


    /**
     * 批次
     */
    @Excel(name = "批次)")
    @TableField("plant_id")
    private String plantId;

    /**
     * 图片
     */
    @Excel(name = "图片")
    @TableField(value = "img", typeHandler = FastjsonTypeHandler.class)
    private com.alibaba.fastjson.JSONArray img;

    /**
     * 规格
     */
    @Excel(name = "规格)")
    @TableField("specs")
    private String specs;

    /**
     * 销往地
     */
    @Excel(name = "销往地)")
    @TableField("sales")
    private String sales;

    /**
     * 运输车号
     */
    @Excel(name = "运输车号)")
    @TableField("wagon_number")
    private String wagonNumber;


    /**
     * 出入口时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "出入口时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("store_time")
    private LocalDateTime storeTime;


    /**
     * 附件
     */

    @TableField(value = "appendix", typeHandler = FastjsonTypeHandler.class)
    private JSONArray appendix;


    /**
     * 审核人
     */
    @TableField(value = "checker")
    private String checker;

    /**
     * 审核人
     */
    @TableField(value = "check_code")
    private String checkCode;

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getSpecs() {
        return specs;
    }

    public void setSpecs(String specs) {
        this.specs = specs;
    }

    public String getSales() {
        return sales;
    }

    public void setSales(String sales) {
        this.sales = sales;
    }

    public String getWagonNumber() {
        return wagonNumber;
    }

    public void setWagonNumber(String wagonNumber) {
        this.wagonNumber = wagonNumber;
    }

    public LocalDateTime getStoreTime() {
        return storeTime;
    }

    public void setStoreTime(LocalDateTime storeTime) {
        this.storeTime = storeTime;
    }

    public JSONArray getAppendix() {
        return appendix;
    }

    public void setAppendix(JSONArray appendix) {
        this.appendix = appendix;
    }

    public com.alibaba.fastjson.JSONArray getImg() {
        return img;
    }

    public void setImg(com.alibaba.fastjson.JSONArray img) {
        this.img = img;
    }

    public String getPlantId() {
        return plantId;
    }

    public void setPlantId(String plantId) {
        this.plantId = plantId;
    }

    public String getPrincipalUserId() {
        return principalUserId;
    }

    public void setPrincipalUserId(String principalUserId) {
        this.principalUserId = principalUserId;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setStoreType(String storeType) {
        this.storeType = storeType;
    }

    public String getStoreType() {
        return storeType;
    }

    public void setPackId(Long packId) {
        this.packId = packId;
    }

    public Long getPackId() {
        return packId;
    }

    public void setPackName(String packName) {
        this.packName = packName;
    }

    public String getPackName() {
        return packName;
    }

    public void setProdutId(Long produtId) {
        this.produtId = produtId;
    }

    public Long getProdutId() {
        return produtId;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductName() {
        return productName;
    }

    public void setPrincipalUser(String principalUser) {
        this.principalUser = principalUser;
    }

    public String getPrincipalUser() {
        return principalUser;
    }

    public void setContactDetails(String contactDetails) {
        this.contactDetails = contactDetails;
    }

    public String getContactDetails() {
        return contactDetails;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setNum(BigDecimal num) {
        this.num = num;
    }

    public BigDecimal getNum() {
        return num;
    }

    @Override
    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String getStatus() {
        return status;
    }

}
